"""
什么是函数？
    简单理解函数就是一个功能，它把代码块封装成一个功能供我们使用
    Ctrl+鼠标 进行查询函数所在
    调用函数就是调用某个功能
1、函数的命名规则：
    所以的命名都大同小异
    关键字不能用、中文不能用，除下划线以外的特殊符号不能用，纯数字不能用
2、函数的创建：（注意事项：不要忘记函数名后面的括号、冒号
    def 函数名():
        代码块
3、函数的调用：
    函数名()

"""""
# 第一种：不需要传入参数
# 创建第一个函数：
def sum_0():
    print("这是个函数")

# 调用函数：
# sum_0()


# 第二种：如果需要传入参数，把参数放到函数名后的括号内
def sum_1(a):
    print(a*10)
# 调用时需要传入参时放到函数名后的括号内
# sum_1(4)
# sum_1(a=4)      #使用赋值的方法传入参数

# 第三种：传参存在多个变量
def plus(a,b,c):
    d = a+b
    print(a+b)
    print(a)
# 调用：如果没有使用等号赋值，那么就按位置先后顺序占位
# 使用等号赋值，就不需要按位置识别
# 函数创建存在多个参数时，调用函数进行入参，变量数要一致
# 调用入参时，如使用了等号赋值，那么全部参数都需要统一使用等号赋值的方式
# plus(7,3,1)
# plus(a=3,b=7,c=1)
# plus(b=7,a=3,c=1)

# 第四种：参数存在空值None（非必填）
def aa(a,b,c=None):
    print(a+b)
    print(c)
# 调用：默认为空值，可以不传入参数；一旦传入参数，则会替换掉空值
# aa(1,5)
# aa(1,5,9)

# 第五种：参数存在默认值
def bb(a,b=5):
    print(a+b)
# 调用：存在默认值时可以不需要传入参数，一旦传入新参数，则会替换掉原来的默认值
# bb(1)
# print(type(bb(1,10)))

# 第六种：不定长参数 *args
# *   代码不确定长度
# args    传入的参数,以元组的方式存放数据
def jiekuan(*args):
    print(args)
    print(type(args))
# 调用：入参时传入元组类型
jiekuan("借款标题","用途","抵押","借款金额","借款周期")

# 第七种：不定长参数 **kwargs，
# 第一个星号：表示key
# 第二个星号：代表value
# kwargs  传入的参数,以字典的方式存放数据
def ss(**kwargs):
    print(kwargs)
    print(type(kwargs))
# 调用：输出是的时候是一个字典格式
ss(name="张三",age="18",aa=324)



# 创建一个函数：可以计算出任意两个数之间的整数和
# 简单理解为把1~100的整数和转换成函数
def sum(a,b):
    j=0
    for i in range(a,b+1):
        j=j+i
    return (j)


# print(sum(1,100)+100)

"""
print跟return的区别：
print：直接把结果输出打印到控制台,适用于在调试的时候进行使用，print的的结果是空类型，无法进行运行
return：在代码程序内部进行运算并返回，不会打印到控制台。return的结果可以直接进行运算
"""



def jiami(num):
    new_num = ""
    for item in num:
        print(item)
        print("每位加5然后求余10",(int(item)+5)%10)
        new_num+=str((int(item)+5)%10)
    last_str = new_num[::-1]
    return last_str
print(jiami("5555"))